package com.nuaa.service.ret.inter;

import java.util.Map;

import com.nuaa.domain.ret.RetSupEntity;
import com.nuaa.domain.ret.ReturnEntity;
import com.nuaa.formmodel.RetHandForm;
import com.nuaa.utils.AjaxMsg;
import com.nuaa.utils.DataGrid;
import com.nuaa.utils.PageInfo;

public interface ReturnServiceInter {
	public DataGrid<Map<String, Object>> getReturnOrders(PageInfo pager,String customer_no,String orderNo,String tmFrom,String tmTo);

	public AjaxMsg saveOrder(ReturnEntity entity);

	/**
	 * 根据主键获得ReturnEntity
	 * @param id
	 * @return
	 */
	public ReturnEntity getById(int id);

	/**
	 * 根据传入的ReturnEntity更新
	 * @param returnor
	 */
	public void update(ReturnEntity returnor);

	/**
	 * 获取未审核订单
	 * @param pager
	 * @return
	 */
	public DataGrid<Map<String, Object>> getReturnUnckeck(PageInfo pager); 
	/**
	 * 检测退货订单中的状态，对所有的退货订单中的包月业务进行检查
	 * 判断其是否在该月已付款，如果没有则将其状态该为待审核
	 * 判断时间以提交时间为准，每次修改状态后都要将其时间进行更新
	 */
	public void checkRetState();
	/**
	 * 提交补充文档
	 * @param entity
	 * @return
	 */
	public AjaxMsg subSup(RetSupEntity entity);
	/**
	 * 通过订单号查找订单信息
	 * @param order_no
	 * @return
	 */
	public ReturnEntity getByOrderNo(String order_no);
	/**
	 * 通过订单号查找补充文档
	 * @param order_no
	 * @return
	 */
	public RetSupEntity getSupByOrderNo(String order_no);

	public void delFileByName(String fileName);
	/**
	 * 提交操作信息
	 * @param ids
	 * @param form
	 * @return
	 */
	public AjaxMsg saveHand(String id, RetHandForm form);

	public AjaxMsg saveModOrder(ReturnEntity entity);

	public DataGrid<Map<String, Object>> getWaitReturnOrders(PageInfo pager, String customer_no, String orderNo, String tmFrom,
			String tmTo);
	
	public DataGrid<Map<String, Object>> getProceReturnOrders(PageInfo pager, String customer_no, String orderNo, String tmFrom,
			String tmTo);
	
	public DataGrid<Map<String, Object>> getFinishReturnOrders(PageInfo pager, String customer_no, String orderNo,
			String tmFrom, String tmTo);
}
